#define _CRT_SECURE_NO_WARNINGS 1
int removeDuplicates(int* nums, int numsSize)
{

    int slow = 1;
    int fast = 1;

    while (fast < numsSize)
    {
        if (nums[fast] != nums[fast - 1])
        {
            nums[slow] = nums[fast];
            fast++;
            slow++;
        }
        else
            fast++;
    }
    return slow;

}


//int cmp(void* p1, void* p2)
//{
//    return *(int*)p1 - *(int*)p2;
//}
//
//int removeDuplicates(int* nums, int numsSize)
//{
//
//    int low = 0;
//    int fast = 1;
//
//    int count = 1;
//    while (fast < numsSize)
//    {
//        if (nums[low] == nums[fast])
//        {
//            nums[fast] = 100001;
//            fast++;
//        }
//        else
//        {
//            low = fast;
//            fast++;
//            count++;
//        }
//    }
//
//    qsort(nums, numsSize, 4, cmp);
//    return count;
//}
//


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int cmp(void* p1, void* p2)
{
    return *(char*)p1 - *(char*)p2;
}

int main()
{

    char str[1025] = { 0 };
    gets(str);

    qsort(str, strlen(str), 1, cmp);
    printf(str);

    return 0;
}

int pivotIndex(int* nums, int numsSize)
{
    int total = 0;
    for (int i = 0; i < numsSize; i++)
    {
        total += nums[i];
    }

    int sum = 0;
    for (int i = 0; i < numsSize; i++)
    {
        if (sum * 2 + nums[i] == total)
        {
            return i;
        }
        sum += nums[i];
    }

    return -1;
}